using Newtonsoft.Json;

#pragma warning disable IDE1006 // 命名样式

namespace QNLua.CommonData
{
	public class ItemTipWindowOption
	{
		[JsonProperty("setHandleButton")]
		public bool? SetHandleButton { get; set; }
		public Dictionary<string, string>? PathMap { get; set; }

		[JsonProperty("customProps")]
		public Dictionary<string, ItemTipCustomPropOption>? CustomProps { get; set; }
		[JsonProperty("customDatas")]
		public Dictionary<string, ItemTipCustomDataOption>? CustomDatas { get; set; }
	}

	public class ItemTipCustomPropOption
	{
		[JsonProperty("modelName")]
		public string? ModelName { get; set; }
		[JsonProperty("path")]
		public string? Path { get; set; }
		[JsonProperty("contentPath")]
		public string? ContentPath { get; set; }
		[JsonProperty("format")]
		public string? Format { get; set; }
		[JsonProperty("attDefType")]
		public int? AttDefType { get; set; }
		[JsonProperty("separator")]
		public string? Separator { get; set; }
	}

	public class ItemTipCustomDataOption
	{
		[JsonProperty("modelName")]
		public string? ModelName { get; set; }

		[JsonProperty("type")]
		public string? Type { get; set; }

		[JsonProperty("path")]
		public string? Path { get; set; }

		[JsonProperty("contentPath")]
		public string? ContentPath { get; set; }

		[JsonProperty("format")]
		public string? Format { get; set; }
	}
	public class ItemTipWindowParams : LuaCommonDataParams
	{
		public string? rid { get; set; }
		public string? name { get; set; }
		public ItemTipWindowOption? option { get; set; }
	}
}
